/*
 * Manager.h
 *
 *  Created on: 2012/02/05
 *      Author: takedanaoki
 */

#ifndef INCLUDED_NTENGINE_NET_MANAGER_H
#define INCLUDED_NTENGINE_NET_MANAGER_H

namespace NTEngine {

/**
 * @brief Netモジュール
 */
namespace Net {

/**
 * @brief Netマネージャ
 */
class Manager {
public:
	/**
	 * インスタンスを取得
	 */
	static Manager instance();

	/**
	 * エラー時に止めるかどうか
	 */
	void enableHaltOnError( bool f );

	/**
	 * タイムアウトを設定
	 */
	void setTimeout( int sec );

	/**
	 * 通信バッファ合計
	 */
	int totalSize() const;

	//以下ユーザは意識しない
	static void create();
	static void destroy();
};

} // namespace Net
} // namespace NTEngine

#endif // INCLUDED_NTENGINE_NET_MANAGER_H
